package top.tigerwoods.spring.base.core.context;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Set;

/**
 * description  当前用户信息
 *
 * @author TigerLin
 * @version 1.0
 * create 2024/06/20  23:44
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class WoodsCurrentUser implements Serializable {

    private static final long serialVersionUID = -8582374275742415159L;

    public static final String DEFAULT_ID = "0";
    public static final String DEFAULT_NAME = "匿名用户";
    /**
     * 当前用户ID
     */
    String id = DEFAULT_ID;
    /**
     * 当前用户名称
     */
    String name = DEFAULT_NAME;
    /**
     * 当前用户token
     */
    String token;
    /**
     * 当前用户所属组织ID
     */
    String ouId;
    /**
     * 当前用户所属组织名称
     */
    String ouName;
    /**
     * 当前用户所属角色
     */
    Set<String> roles;

    /**
     * 当前用户是否为空
     * @return  true:为空  false:不为空
     */
    public boolean isNull() {
        return DEFAULT_ID.equals(id) && DEFAULT_NAME.equals(name);
    }

}
